//
//  ViewController.m
//  04-UIControl
//
//  Created by LL.F on 16/7/19.
//  Copyright © 2016年 LL.F. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    /*
     
     UISwitch  开关小圆钮
     
     */
    // 宽高不影响控件大小
    UISwitch *switchs = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 1750, 500)];
    // frame以及关闭时候控件颜色
    //switchs.backgroundColor = [UIColor brownColor];
    // 1.开启时的控件内部颜色(小圆按钮的背景色:默认为绿)
    switchs.onTintColor = [UIColor redColor];
    // 2.边框以及切换到关闭过程中的颜色(null_resettable)
    switchs.tintColor = [UIColor yellowColor];
    // 3.开关按钮(圆圈)的颜色(默认是白色)
    switchs.thumbTintColor = [UIColor blueColor];
    // 4.打开时的照片, iOS7后失效
    switchs.onImage = [UIImage imageNamed:@"121"];
    // 5.关闭时的照片, iOS7后失效
    switchs.offImage = [UIImage imageNamed:@"121"];
    // 6.判断控件开关状态(NO为关闭状态)
    NSLog(@"%@", switchs.on ? @"YES" : @"NO");// 默认为NO
    [switchs setOn:YES animated:YES];
    // 7.添加绑定事件(与Button相同)
    [switchs addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:switchs];
    
    
    
    /*
     
        UISlider  小滑条
     
     */
    // 高对控件大小无影响, 控件永远居中于frame
    UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(10, 200, 355, 150)];
    // frame区域颜色
    slider.backgroundColor = [UIColor brownColor];
    // 1. slider最小值 slider范围默认是0.0~1.0, 现在改成了100.0~200.0
    slider.minimumValue = 100;
    // 2. slider最大值
    slider.maximumValue = 200;
    // 3. 当前slider值
    slider.value = 150;// 此时slider居中
    // 4. 滑条左边区域图片
    slider.minimumValueImage = [UIImage imageNamed:@"1.jpg"];
    // 5. 滑条右边区域图片
    slider.maximumValueImage = [UIImage imageNamed:@"1.jpg"];
    // 5. 滑条已经过区域颜色
    slider.minimumTrackTintColor = [UIColor redColor];
    // 6. 滑条未滑到区域颜色
    slider.maximumTrackTintColor = [UIColor yellowColor];
    // 7. 滑条小圆钮的颜色
    //slider.thumbTintColor = [UIColor blueColor];
    // 8. 为滑条小圆钮设置图片
    [slider setThumbImage:[UIImage imageNamed:@"6.jpg"] forState:UIControlStateNormal];
    // 8-10 可以达到美观的作用
    // 9. 设置进度条滑块左边的图片
    [slider setMinimumTrackImage:[UIImage imageNamed:@"player_slider_playback_left"] forState:UIControlStateNormal];
    // 10. 设置进度条滑块右边的图片
    [slider setMaximumTrackImage:[UIImage imageNamed:@"player_slider_playback_right"] forState:UIControlStateNormal];
    // 11. 设置滑条上小圆钮的图片
    [slider setThumbImage:[UIImage imageNamed:@"player_slider_playback_thumb"] forState:UIControlStateNormal];
    // 12. 控制连续拖动时, 拖动事件的触发方法, 默认为yes, 如果为no,就只有在拖动松开时触发
    slider.continuous = YES;
    // 13. 绑定事件
    [slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:slider];
    
    /*
     
          UISegmentedControl
     
     */
    
    // 1.根据内容进行初始化, 大小根据内容自己适应, 不设置frame
    UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:@[@"first", @"second", @"third"]];
    // 打印不设置frame时候的控件位置
    NSLog(@"%@", NSStringFromCGRect(segment.frame));
    // 2.设置frame
    segment.frame = CGRectMake(100, 400, 175, 50);
    // 3.如果设为YES,点击分区后选中效果显示一下后消失, 不持续显示, 默认为NO
    segment.momentary = YES;
    segment.tag = 1000;
    // 4.获取分区(item)的个数(只有getter)
    NSInteger number = segment.numberOfSegments;
    NSLog(@"%ld", number);
    // 5.insertSegmentWithImage: atIndex: animated:
    // 6.remove
    // 7.setTitle: forSegmentAtIndex
    [segment setTitle:@"来点我" forSegmentAtIndex:1];
    // 8.???默认是0.0
    [segment setWidth:0 forSegmentAtIndex:0];
    // 9. 设置对应下标item内文字内容的偏移量
    [segment setContentOffset:CGSizeMake(20, 10) forSegmentAtIndex:0];
    [self.view addSubview:segment];
    // 10.设置对应下标下的item不可点, 文字颜色变灰色
    [segment setEnabled:NO forSegmentAtIndex:2];
    // 11. 设置选中的下标(可设置, 可获取)
    segment.selectedSegmentIndex = 1;
    //12.
    segment.apportionsSegmentWidthsByContent = YES;
    //
    segment.tintColor = [UIColor redColor];
    // 用分支事件写swith
    
    /**
     *  UIPageControl  分页控制器(可拨动小圆点)
     */
    UIPageControl *page  = [[UIPageControl alloc] initWithFrame:CGRectMake(100, 500, 175, 20)];
    page.backgroundColor = [UIColor blackColor];
    // 1.设置了小点的个数才会显示(包括显示背景颜色)
    page.numberOfPages = 5;
    // 2.当前位于第几页(下标是从0开始)
    page.currentPage = 0;
    // 3.设置为YES,当只有一页时, pageControl会隐藏 默认为no
    page.hidesForSinglePage = YES;
    // 4. 获取小点的大小
    CGSize pageSize = [page sizeForNumberOfPages:2];
    NSLog(@"%@", NSStringFromCGSize(pageSize));
    // 5. 未选中页小点的颜色(默认为灰色)
    page.pageIndicatorTintColor = [UIColor orangeColor];
    // 6. 选中页(当前页)小点颜色(默认为白色)
    page.currentPageIndicatorTintColor = [UIColor greenColor];
    // 7. 绑定事件
    [page addTarget:self action:@selector(didClickedPage:) forControlEvents:UIControlEventValueChanged];
    // 8.默认为NO, 该为yes后 不再自动点击后帮你切换page的切换, 直到调用这个方法updateCurrentPageDisplay 才会继续帮助切换
    page.defersCurrentPageDisplay = YES;
    [self.view addSubview:page];
    
    // 创建一个button
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.frame = CGRectMake(100, 470, 100, 30);
    button.backgroundColor = [UIColor redColor];
    [self.view addSubview:button];
    [button addTarget:self action:@selector(didButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
    
}
// 点击button在segment固定位置, 插入图片
- (void)didButtonClicked:(UIButton *)button
{

    [[self.view viewWithTag:1000] insertSegmentWithImage:[[UIImage imageNamed:@"1.jpg"] imageWithRenderingMode:1] atIndex:0 animated:YES];
    
}
// switchs点击方法
- (void)switchAction:(UISwitch *)switchs
{

    NSLog(@"%@", switchs.on ? @"YES" : @"NO");
    
}
// slider点击方法
- (void)sliderAction:(UISlider *)slider
{
    
    NSLog(@"%f", slider.value);
}
// page点击方法
- (void)didClickedPage:(UIPageControl *)page
{
    
    [page updateCurrentPageDisplay];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
